// 测试生成的包含MCP远程工具的system prompt
const { ToolManager } = require('../dist/tools/index.js');

async function testSystemPrompt() {
    const toolManager = new ToolManager();
    
    console.log('=== 📝 System Prompt包含MCP远程工具测试 ===\n');
    
    // 先连接MCP服务器来注册远程工具
    await toolManager.executeTool('mcp-client', {
        action: 'connect',
        serverName: 'prompt-test-server',
        command: 'node index.js',
        cwd: 'E:\\mcp_server\\mcp_server\\out'
    });
    
    console.log('生成包含远程工具的system prompt:\n');
    
    const systemPrompt = toolManager.generateToolPrompt();
    
    // 显示prompt的关键部分
    const lines = systemPrompt.split('\n');
    let inToolSection = false;
    let toolCount = 0;
    
    for (const line of lines) {
        if (line.includes('可用工具：')) {
            inToolSection = true;
            console.log(line);
            continue;
        }
        
        if (inToolSection && line.includes('**')) {
            toolCount++;
            console.log(line);
            
            // 如果是MCP远程工具，显示更多信息
            if (line.includes('🌐')) {
                console.log('  ↳ 这是一个MCP远程工具！');
            }
            
            if (toolCount >= 15) { // 只显示前15个工具避免输出过长
                console.log('  ... 还有更多工具');
                break;
            }
        }
        
        if (inToolSection && line.includes('工具调用格式：')) {
            break;
        }
    }
    
    console.log('\n📊 统计信息:');
    const mcpToolLines = lines.filter(line => line.includes('🌐'));
    console.log(`- 总提示词长度: ${systemPrompt.length} 字符`);
    console.log(`- 包含 ${mcpToolLines.length} 个MCP远程工具引用`);
    console.log(`- AI现在可以看到并直接调用这些远程工具！`);
    
    // 清理连接
    await toolManager.executeTool('mcp-client', {
        action: 'disconnect',
        serverName: 'prompt-test-server'
    });
    
    console.log('\n🎯 实际效果:');
    console.log('AI可以这样调用远程工具:');
    console.log('```tool_call');
    console.log('{');
    console.log('  "tool_name": "prompt-test-server::list-directory-tree",');
    console.log('  "arguments": {');
    console.log('    "dir": "src",');
    console.log('    "maxDepth": 2');
    console.log('  }');
    console.log('}');
    console.log('```');
}

testSystemPrompt().catch(console.error);